<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    
    <title>Docker 使用简介 | jouyouyun&#39;s blog</title>
    <meta name="viewport" content="width=device-width,minimum-scale=1">
    <meta name="description" content="Docker 是使用 GoLang 开发的开源容器引擎，可以方便的打包开发好的应用，然后分发到任意 linux 主机上。
与传统的虚拟机相比拥有以下优势：


高效的系统资源利用率
由于不需要进行硬件虚拟和运行完整的操作系统等额外开销，无论是应用执行速度、内存损耗或者文件存储速度， Docker 都更加高效


更快的启动速度
Docker 容器应用直接运行与宿主内核，无需启动完整的操作系统，可以做到秒级启动

">
    <meta name="generator" content="Hugo 0.105.0">
    
    
    
    
      <meta name="robots" content="noindex, nofollow">
    

    
<link rel="stylesheet" href="/ananke/css/main.min.css" >



    
    
    
      

    

    
    
    <meta property="og:title" content="Docker 使用简介" />
<meta property="og:description" content="Docker 是使用 GoLang 开发的开源容器引擎，可以方便的打包开发好的应用，然后分发到任意 linux 主机上。
与传统的虚拟机相比拥有以下优势：


高效的系统资源利用率
由于不需要进行硬件虚拟和运行完整的操作系统等额外开销，无论是应用执行速度、内存损耗或者文件存储速度， Docker 都更加高效


更快的启动速度
Docker 容器应用直接运行与宿主内核，无需启动完整的操作系统，可以做到秒级启动

" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://jouyouyun.github.io/post/docker-intro/" /><meta property="article:section" content="post" />
<meta property="article:published_time" content="2019-04-21T11:58:00+08:00" />
<meta property="article:modified_time" content="2019-06-08T18:29:53+08:00" />

<meta itemprop="name" content="Docker 使用简介">
<meta itemprop="description" content="Docker 是使用 GoLang 开发的开源容器引擎，可以方便的打包开发好的应用，然后分发到任意 linux 主机上。
与传统的虚拟机相比拥有以下优势：


高效的系统资源利用率
由于不需要进行硬件虚拟和运行完整的操作系统等额外开销，无论是应用执行速度、内存损耗或者文件存储速度， Docker 都更加高效


更快的启动速度
Docker 容器应用直接运行与宿主内核，无需启动完整的操作系统，可以做到秒级启动

"><meta itemprop="datePublished" content="2019-04-21T11:58:00+08:00" />
<meta itemprop="dateModified" content="2019-06-08T18:29:53+08:00" />
<meta itemprop="wordCount" content="440">
<meta itemprop="keywords" content="docker,container,image,compose," /><meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Docker 使用简介"/>
<meta name="twitter:description" content="Docker 是使用 GoLang 开发的开源容器引擎，可以方便的打包开发好的应用，然后分发到任意 linux 主机上。
与传统的虚拟机相比拥有以下优势：


高效的系统资源利用率
由于不需要进行硬件虚拟和运行完整的操作系统等额外开销，无论是应用执行速度、内存损耗或者文件存储速度， Docker 都更加高效


更快的启动速度
Docker 容器应用直接运行与宿主内核，无需启动完整的操作系统，可以做到秒级启动

"/>

	
  </head>

  <body class="ma0 avenir bg-near-white">

    
   
  

  <header>
    <div class="bg-black">
      <nav class="pv3 ph3 ph4-ns" role="navigation">
  <div class="flex-l justify-between items-center center">
    <a href="/" class="f3 fw2 hover-white no-underline white-90 dib">
      
        jouyouyun&#39;s blog
      
    </a>
    <div class="flex-l items-center">
      

      
        <ul class="pl0 mr3">
          
          <li class="list f5 f4-ns fw4 dib pr3">
            <a class="hover-white no-underline white-90" href="/post/" title="Archives 页">
              Archives
            </a>
          </li>
          
          <li class="list f5 f4-ns fw4 dib pr3">
            <a class="hover-white no-underline white-90" href="/tags/" title="Tags 页">
              Tags
            </a>
          </li>
          
          <li class="list f5 f4-ns fw4 dib pr3">
            <a class="hover-white no-underline white-90" href="/categories/" title="Categories 页">
              Categories
            </a>
          </li>
          
        </ul>
      
      
<div class="ananke-socials">
  
    <a href="https://github.com/jouyouyun" target="_blank" class="github ananke-social-link link-transition stackoverflow link dib z-999 pt3 pt0-l mr1" title="GitHub link" rel="noopener" aria-label="follow on GitHub——Opens in a new window">
      
        <span class="icon"><svg style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512"  xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
  <path d="M256,32C132.3,32,32,134.8,32,261.7c0,101.5,64.2,187.5,153.2,217.9c11.2,2.1,15.3-5,15.3-11.1   c0-5.5-0.2-19.9-0.3-39.1c-62.3,13.9-75.5-30.8-75.5-30.8c-10.2-26.5-24.9-33.6-24.9-33.6c-20.3-14.3,1.5-14,1.5-14   c22.5,1.6,34.3,23.7,34.3,23.7c20,35.1,52.4,25,65.2,19.1c2-14.8,7.8-25,14.2-30.7c-49.7-5.8-102-25.5-102-113.5   c0-25.1,8.7-45.6,23-61.6c-2.3-5.8-10-29.2,2.2-60.8c0,0,18.8-6.2,61.6,23.5c17.9-5.1,37-7.6,56.1-7.7c19,0.1,38.2,2.6,56.1,7.7   c42.8-29.7,61.5-23.5,61.5-23.5c12.2,31.6,4.5,55,2.2,60.8c14.3,16.1,23,36.6,23,61.6c0,88.2-52.4,107.6-102.3,113.3   c8,7.1,15.2,21.1,15.2,42.5c0,30.7-0.3,55.5-0.3,63c0,6.1,4,13.3,15.4,11C415.9,449.1,480,363.1,480,261.7   C480,134.8,379.7,32,256,32z"/>
</svg>
</span>
      
<span class="new-window"><svg  height="8px"  style="enable-background:new 0 0 1000 1000;" version="1.1" viewBox="0 0 1000 1000"  xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<path d="M598 128h298v298h-86v-152l-418 418-60-60 418-418h-152v-86zM810 810v-298h86v298c0 46-40 86-86 86h-596c-48 0-86-40-86-86v-596c0-46 38-86 86-86h298v86h-298v596h596z" style="fill-rule:evenodd;clip-rule:evenodd;"/>
</svg>
</span></a>
  
</div>

    </div>
  </div>
</nav>

    </div>
  </header>



    <main class="pb7" role="main">
      
  
  <article class="flex-l flex-wrap justify-between mw8 center ph3">
    <header class="mt4 w-100">
      <aside class="instapaper_ignoref b helvetica tracked">
          
        POSTS
      </aside>
      










  <div id="sharing" class="mt3 ananke-socials">
    
  </div>


      <h1 class="f1 athelas mt3 mb1">Docker 使用简介</h1>
      
      <p class="tracked">
         <strong>jouyouyun <a href="mailto:jouyouwen717@gmail.com">jouyouwen717@gmail.com</a></strong>
      </p>
      
      
      
      <time class="f6 mv4 dib tracked" datetime="2019-04-21T11:58:00+08:00">四月 21, 2019</time>
      

      
      
    </header>
    <div class="nested-copy-line-height lh-copy serif f4 nested-links mid-gray pr4-l w-two-thirds-l"><p><code>Docker</code> 是使用 <code>GoLang</code> 开发的开源容器引擎，可以方便的打包开发好的应用，然后分发到任意 <code>linux</code> 主机上。</p>
<p>与传统的虚拟机相比拥有以下优势：</p>
<ul>
<li>
<p>高效的系统资源利用率</p>
<p>由于不需要进行硬件虚拟和运行完整的操作系统等额外开销，无论是应用执行速度、内存损耗或者文件存储速度， <code>Docker</code> 都更加高效</p>
</li>
<li>
<p>更快的启动速度</p>
<p><code>Docker</code> 容器应用直接运行与宿主内核，无需启动完整的操作系统，可以做到秒级启动</p>
</li>
</ul>
<ul>
<li>
<p>一致的运行环境</p>
<p><code>Docker</code> 镜像提供了除内核外的完整运行环境，确保了应用运行环境的一致性</p>
</li>
<li>
<p>持续交付和部署</p>
<p>可以通过 <code>Docker</code> 镜像来实现服务的持续交付、部署。使用 <code>Dockerfile</code> 来构建镜像，使用持续集成系统进行集成测试；使用镜像结合持续部署系统进行自动部署</p>
</li>
<li>
<p>迁移轻松</p>
<p>只需要迁移镜像及镜像运行的数据就可在其他主机或平台运行</p>
</li>
<li>
<p>易于维护和扩展</p>
<p>由于使用镜像进行部署，使维护更为容易。由于支持在镜像的基础上进行定制，使得扩展变得更简单。而官方也维护了一大批高质量的<a href="https://hub.docker.com">镜像</a>，大大降低了镜像的制作成本</p>
</li>
</ul>
<h2 id="基本概念">基本概念</h2>
<h3 id="仓库">仓库</h3>
<p><code>Docker</code> 提供了仓库(<code>Repository</code>)用于存放制作好的镜像，方便使用者获取，在本地可通知配置多个 <code>Repository</code> 。</p>
<ul>
<li>
<p>拉取</p>
<p>可以使用命令来拉取镜像:</p>
<p><code>docker pull [repo url&gt;/]image name&gt;</code></p>
<p>默认的 <code>repo url</code> 是 <code>hub.docker.com</code> ，拉取默认仓库中的镜像时是不需要 <code>url</code> 的。
如拉取 <code>debian</code> ： <code>docker pull debian</code> 。</p>
</li>
<li>
<p>推送</p>
<p>我们也可将自己制作好的镜像推送到仓库，以便分发，使用命令：</p>
<p><code>docker push [&lt;repo url&gt;/]&lt;image name&gt;[:&lt;image tag&gt;&gt;</code></p>
</li>
<li>
<p>搜索</p>
<p>使用 <code>docker search</code> 命令则可搜索默认 <code>repo url</code> 内的镜像。</p>
</li>
<li>
<p>镜像加速</p>
<p>由于默认 <code>repo url</code> 在国外，为了加快拉取速度，需要指定其为国内的，向 <code>/etc/docker/daemon.json</code> 中添加:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-json" data-lang="json"><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">&#34;registry-mirrors&#34;</span>: [<span style="color:#e6db74">&#34;https://registry.docker-cn.com&#34;</span>]
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>便可使用 <code>Docker</code> 在中国的镜像加速站。</p>
<p>对于企业用户还可搭建自己的私有镜像仓库，方便管理内部镜像。</p>
</li>
<li>
<p>登录</p>
<p><code>docker</code> 在使用公共镜像时可直接 <code>pull</code> ，无需登录。但在使用私有镜像时则需要向登录，使用命令 <code>docker login &lt;repository url&gt;</code> 。</p>
<p><code>repository url</code> 不指定则使用默认值，默认是 <code>hub.docker.com</code> 。</p>
</li>
</ul>
<h3 id="镜像">镜像</h3>
<p>镜像是经过 <code>Dockerfile</code> 规则打包生成的， <code>Dockerfile</code> 文件了指明了镜像的生成及运行方式。</p>
<h4 id="dockerfile">Dockerfile</h4>
<p>这里简单介绍下 <code>Dockerfile</code> 中常用的命令:</p>
<ul>
<li>
<p>FROM</p>
<p>指明基于那个镜像，通常是一个系统环境，如 <code>debian</code> 。在多阶段(<code>stage</code>)构建中可使用 <code>FROM ... AS ...</code> 来命令阶段，供后面的阶段使用</p>
</li>
<li>
<p>ENV</p>
<p>设置镜像的环境变量</p>
</li>
<li>
<p>EXPOSE</p>
<p>导出端口，语法： <code>EXPOSE port/protocol</code></p>
</li>
<li>
<p>RUN</p>
<p>执行一条命令</p>
</li>
<li>
<p>COPY</p>
<p>复制镜像内部的文件，也可从指定 <code>stage</code> 中复制文件，使用 <code>--from=&lt;stage name&gt;</code> 来实现</p>
</li>
<li>
<p>ADD</p>
<p>复制本地文件到镜像中，并做了一些额外工作，如自动解压文件、保持文件属性等</p>
</li>
<li>
<p>WORKDIR</p>
<p>切换工作目录</p>
</li>
<li>
<p>CMD</p>
<p>执行命令，极容易在 <code>docker run</code> 时被覆盖。主要用于指定镜像的默认启动命令，有以下三种语法：</p>
<ul>
<li><code>CMD [&quot;executable&quot;, &quot;param1&quot;, &quot;param2&quot;]</code> <code>Exec</code> 模式，首先</li>
<li><code>CMD [&quot;param1&quot;, &quot;param2&quot;]</code> 设置 <code>ENTRYPOINT</code> 的默认参数</li>
<li><code>CMD command param1 param2</code> <code>Shell</code> 模式</li>
</ul>
</li>
<li>
<p>ENTRYPOINT</p>
<p>指定镜像默认的运行命令，可以使用 <code>--entrypoint</code> 参数在 <code>docker run</code> 时覆盖 <code>Dockerfile</code> 内的 <code>ENTRYPOINT</code></p>
<p>有 <code>Exec</code> 和 <code>Shell</code> 两种模式</p>
<p>通常使用这个命令来指定镜像的启动命令，因为 <code>CMD</code> 稍不注意就被覆盖了</p>
</li>
</ul>
<p>更多关于 <code>Dockerfile</code> 内容请参见： <a href="https://docs.docker.com/engine/reference/builder/">Dockerfile reference</a></p>
<p>这里给出一个简单的 <code>Dockerfile=， 是 =debian sid</code> 的：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-dockerfile" data-lang="dockerfile"><span style="display:flex;"><span><span style="color:#66d9ef">FROM</span><span style="color:#e6db74"> scratch</span><span style="color:#960050;background-color:#1e0010">
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#66d9ef">ADD</span> rootfs.tar.xz /<span style="color:#960050;background-color:#1e0010">
</span></span></span><span style="display:flex;"><span><span style="color:#960050;background-color:#1e0010"></span><span style="color:#66d9ef">CMD</span> [<span style="color:#e6db74">&#34;bash&#34;</span>]<span style="color:#960050;background-color:#1e0010">
</span></span></span></code></pre></div><h4 id="创建">创建</h4>
<p>使用 <code>docker build -f &lt;Dockerfile path&gt; [-t &lt;image name&gt;[:&lt;tag&gt;]] .</code> 创建镜像和标记 <code>Tag</code></p>
<p><code>Tag</code> 可用来标记不同的镜像版本，就像版本号。</p>
<h4 id="列出">列出</h4>
<p>使用 <code>docker image ls</code> 可以列出下载下来的镜像</p>
<h4 id="运行">运行</h4>
<p>使用 <code>docker run</code> 命令运行镜像，可使用参数配置，下面给出一个例子：</p>
<p><code>docker run -it -d -p &lt;local port&gt;:&lt;container port&gt; -v &lt;local path&gt;:&lt;container path&gt; -e &quot;TESST_ENV=1&quot; --name &quot;&lt;conatiner name&gt;&quot; &lt;image&gt;</code></p>
<ul>
<li><code>-i</code> 是交互式操作</li>
<li><code>-t</code> 是终端</li>
<li><code>-p</code> 指定端口映射</li>
<li><code>-v</code> 指定 <code>volume</code> 映射</li>
<li><code>-d</code> 后台模式</li>
<li><code>-e</code> 指定环境变量</li>
<li><code>--name</code> 指定运行后的容器名称</li>
</ul>
<p>**注意：**这些参数必须在 <code>image</code> 之前指定，否则会被当作 <code>image</code> 启动命令的参数。</p>
<h4 id="删除">删除</h4>
<p>使用 <code>docker image rm &lt;image id&gt;</code> 删除镜像</p>
<h4 id="导入和导出">导入和导出</h4>
<ul>
<li>导出： <code>docker save &lt;image id&gt; &gt; &lt;image save&gt;.tar</code></li>
<li>导入： <code>docker load &lt; &lt;image save&gt;.tar</code></li>
</ul>
<h3 id="容器">容器</h3>
<p>容器是镜像运行后的实体，运行与属于自己的独立的命名空间。</p>
<h4 id="创建">创建</h4>
<p>使用 <code>docker run</code> 命令启动镜像就可以创建一个容器</p>
<h4 id="列出">列出</h4>
<p>使用 <code>docker ps</code> 可列出正在运行的容器，加上 <code>-a</code> 参数可列出所以存在的容器</p>
<h4 id="控制">控制</h4>
<ul>
<li>
<p>启动</p>
<p>使用 <code>docker container start &lt;containe id&gt;</code> 启动容器</p>
</li>
<li>
<p>终止</p>
<p>使用 <code>docker container stop &lt;containe id&gt;</code> 终止容器</p>
</li>
<li>
<p>暂停</p>
<p><code>dcoker container pause &lt;containe id&gt;</code></p>
</li>
<li>
<p>重启</p>
<p><code>dcoker container restart &lt;containe id&gt;</code></p>
</li>
<li>
<p>日志</p>
<p><code>dcoker container logs &lt;containe id&gt;</code></p>
</li>
</ul>
<h4 id="删除">删除</h4>
<p><code>docker container rm &lt;container id&gt;</code> 命令可删除容器</p>
<h4 id="进入容器">进入容器</h4>
<p>使用 <code>docker exec -it &lt;container id&gt; /bin/sh</code> 命令可进入容器的执行环境</p>
<h4 id="导入和导出">导入和导出</h4>
<ul>
<li>导入： <code>docker import &lt;container export&gt;.tar &lt;container name&gt;</code></li>
<li>导出: <code>docker export &lt;container id&gt; &gt; &lt;container export&gt;.tar</code></li>
</ul>
<h2 id="部署">部署</h2>
<p>直接运行镜像不便于部署服务，因而官方推出了 <code>Docker Compose</code> 来负责应用部署。</p>
<p>使用 <code>docker-compose.yml</code> 文件将应用需要的镜像都定义在一起，然后使用 <code>docker-compose</code> 命令来部署。</p>
<p><code>docker-compose.yml</code> 的语法详见： <a href="https://docs.docker.com/compose/compose-file/">Compose file version 3 reference</a>，这里给出一份部署 <code>wordpress</code> 的文件：</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#f92672">version</span>: <span style="color:#e6db74">&#34;3.7&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">services</span>:
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">wordpress</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">image</span>: <span style="color:#ae81ff">wordpress</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">ports</span>:
</span></span><span style="display:flex;"><span>      - <span style="color:#e6db74">&#34;8080:80&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">networks</span>:
</span></span><span style="display:flex;"><span>      - <span style="color:#ae81ff">backend</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">mysql</span>:
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">image</span>: <span style="color:#ae81ff">mysql</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">volumes</span>:
</span></span><span style="display:flex;"><span>       - <span style="color:#ae81ff">db-data:/var/lib/mysql/data</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">networks</span>:
</span></span><span style="display:flex;"><span>       - <span style="color:#ae81ff">backend</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">volumes</span>:
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">db-data</span>:
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">networks</span>:
</span></span><span style="display:flex;"><span>  <span style="color:#f92672">backend</span>:
</span></span></code></pre></div><h3 id="常用命令">常用命令</h3>
<ul>
<li>
<p>up</p>
<p>启动服务，加上 <code>-d</code> 表示在后端运行</p>
</li>
<li>
<p>down</p>
<p>终止服务</p>
</li>
<li>
<p>build</p>
<p>构建服务中的容器</p>
</li>
<li>
<p>config</p>
<p>验证文件格式是否有误</p>
</li>
<li>
<p>exec</p>
<p>进入指定的容器，如进入上面 <code>wordpress</code> 中的 <code>mysql</code> 则是： <code>docker-compose exec mysql</code></p>
</li>
<li>
<p>logs</p>
<p>显示日志，可指定容器</p>
</li>
<li>
<p>restart</p>
<p>重启服务</p>
</li>
</ul>
<p>更多命令请见： <a href="https://docs.docker.com/compose/reference/overview/">Overview of docker-compose CLI</a></p><ul class="pa0">
  
   <li class="list di">
     <a href="/tags/docker" class="link f5 grow no-underline br-pill ba ph3 pv2 mb2 dib black sans-serif">docker</a>
   </li>
  
   <li class="list di">
     <a href="/tags/container" class="link f5 grow no-underline br-pill ba ph3 pv2 mb2 dib black sans-serif">container</a>
   </li>
  
   <li class="list di">
     <a href="/tags/image" class="link f5 grow no-underline br-pill ba ph3 pv2 mb2 dib black sans-serif">image</a>
   </li>
  
   <li class="list di">
     <a href="/tags/compose" class="link f5 grow no-underline br-pill ba ph3 pv2 mb2 dib black sans-serif">compose</a>
   </li>
  
</ul>
<div class="mt6 instapaper_ignoref">
      
      
      </div>
    </div>

    <aside class="w-30-l mt6-l">




</aside>

  </article>

    </main>
    <footer class="bg-black bottom-0 w-100 pa3" role="contentinfo">
  <div class="flex justify-between">
  <a class="f4 fw4 hover-white no-underline white-70 dn dib-ns pv2 ph3" href="https://jouyouyun.github.io" >
    &copy;  jouyouyun 2023 
  </a>
    <div>
<div class="ananke-socials">
  
    <a href="https://github.com/jouyouyun" target="_blank" class="github ananke-social-link link-transition stackoverflow link dib z-999 pt3 pt0-l mr1" title="GitHub link" rel="noopener" aria-label="follow on GitHub——Opens in a new window">
      
        <span class="icon"><svg style="enable-background:new 0 0 512 512;" version="1.1" viewBox="0 0 512 512"  xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
  <path d="M256,32C132.3,32,32,134.8,32,261.7c0,101.5,64.2,187.5,153.2,217.9c11.2,2.1,15.3-5,15.3-11.1   c0-5.5-0.2-19.9-0.3-39.1c-62.3,13.9-75.5-30.8-75.5-30.8c-10.2-26.5-24.9-33.6-24.9-33.6c-20.3-14.3,1.5-14,1.5-14   c22.5,1.6,34.3,23.7,34.3,23.7c20,35.1,52.4,25,65.2,19.1c2-14.8,7.8-25,14.2-30.7c-49.7-5.8-102-25.5-102-113.5   c0-25.1,8.7-45.6,23-61.6c-2.3-5.8-10-29.2,2.2-60.8c0,0,18.8-6.2,61.6,23.5c17.9-5.1,37-7.6,56.1-7.7c19,0.1,38.2,2.6,56.1,7.7   c42.8-29.7,61.5-23.5,61.5-23.5c12.2,31.6,4.5,55,2.2,60.8c14.3,16.1,23,36.6,23,61.6c0,88.2-52.4,107.6-102.3,113.3   c8,7.1,15.2,21.1,15.2,42.5c0,30.7-0.3,55.5-0.3,63c0,6.1,4,13.3,15.4,11C415.9,449.1,480,363.1,480,261.7   C480,134.8,379.7,32,256,32z"/>
</svg>
</span>
      
<span class="new-window"><svg  height="8px"  style="enable-background:new 0 0 1000 1000;" version="1.1" viewBox="0 0 1000 1000"  xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<path d="M598 128h298v298h-86v-152l-418 418-60-60 418-418h-152v-86zM810 810v-298h86v298c0 46-40 86-86 86h-596c-48 0-86-40-86-86v-596c0-46 38-86 86-86h298v86h-298v596h596z" style="fill-rule:evenodd;clip-rule:evenodd;"/>
</svg>
</span></a>
  
</div>
</div>
  </div>
</footer>

  </body>
</html>
